aboutsummaryrefslogtreecommitdiffstats
path: root/apps/web/app/api/[[...route]]
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/app/api/[[...route]]')
-rw-r--r--apps/web/app/api/[[...route]]/route.ts28
1 files changed, 28 insertions, 0 deletions
diff --git a/apps/web/app/api/[[...route]]/route.ts b/apps/web/app/api/[[...route]]/route.ts
new file mode 100644
index 00000000..8930671d
--- /dev/null
+++ b/apps/web/app/api/[[...route]]/route.ts
@@ -0,0 +1,28 @@
+import { createContextFromRequest } from "@/server/api/client";
+import { Hono } from "hono";
+import { createMiddleware } from "hono/factory";
+import { handle } from "hono/vercel";
+
+import allApp from "@karakeep/api";
+import { Context } from "@karakeep/trpc";
+
+export const runtime = "nodejs";
+
+export const nextAuth = createMiddleware<{
+ Variables: {
+ ctx: Context;
+ };
+}>(async (c, next) => {
+ const ctx = await createContextFromRequest(c.req.raw);
+ c.set("ctx", ctx);
+ await next();
+});
+
+const app = new Hono().basePath("/api").use(nextAuth).route("/", allApp);
+
+export const GET = handle(app);
+export const POST = handle(app);
+export const PATCH = handle(app);
+export const DELETE = handle(app);
+export const OPTIONS = handle(app);
+export const PUT = handle(app);